package com.ssy.lingxi.dto.request;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.List;

/**
 * 平台优惠券结算请求VO
 * @author 彭冬冬
 * @version 2.0.0
 * @date 2022/1/18 9:23
 */
public class PlatformCouponSettlementRequestVO implements Serializable {
    private static final long serialVersionUID = -7303798233217710625L;

    /**
     * 结算会员id
     */
    @NotNull
    @Positive(message = "结算会员id需要大于0")
    private Long memberId;

    /**
     * 结算角色id
     */
    @NotNull
    @Positive(message = "结算角色id需要大于0")
    private Long roleId;

    /**
     * 结算方
     */
    @NotNull(message = "结算方不能为空")
    @NotBlank(message = "结算方不能为空")
    private String settlementName;

    /**
     * 结算明细项
     */
    @NotNull(message = "结算明细项不能为空")
    @NotEmpty(message = "结算明细项不能为空")
    @Valid
    private List<PlatformCouponSettlementDetailRequestVO> details;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getSettlementName() {
        return settlementName;
    }

    public void setSettlementName(String settlementName) {
        this.settlementName = settlementName;
    }

    public List<PlatformCouponSettlementDetailRequestVO> getDetails() {
        return details;
    }

    public void setDetails(List<PlatformCouponSettlementDetailRequestVO> details) {
        this.details = details;
    }
}
